package com.softer.chengxin.corp.service;

import com.softer.chengxin.common.domin.CommonResult;
import com.softer.chengxin.common.domin.JsonResult;
import com.softer.chengxin.common.domin.ManagerPageResult;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.corp.domin.Corp;
import com.softer.chengxin.corp.domin.CorpDTO;
import com.softer.chengxin.corp.domin.ProDTO;
import com.softer.chengxin.person.domin.Person;
import com.softer.chengxin.person.domin.PersonVO;
import org.apache.ibatis.annotations.Param;

import javax.print.attribute.standard.MediaName;
import java.util.Date;
import java.util.List;

/**
 * @author wangixnrui
 * @date 2018/10/09
 */
public interface ManagerService {

    /**
     * 企业下主要人员
     *
     * @param qyId   企业id
     * @param duties 职位
     * @return 结果
     */
    Person findZYRY(String qyId, Integer duties);

    /**
     * 企业下从业人员
     *
     * @param qyId  企业id
     * @param page  页码
     * @param name  姓名
     * @param depId 部门
     * @return 结果
     */
    ManagerPageResult findCYRY(String qyId, Page page, String name, String depId);

    /**
     * 查询企业信息 条件查询
     *
     * @param qyName      企业
     * @param cxDateBegin 查询录入开始时间
     * @param cxDateEnd   查询录入结束时间
     * @param state       状态
     * @param page        页码
     * @param loginName   管理账号名
     * @param district    区域
     * @return 结果
     */
    ManagerPageResult findCorpByCondition(String qyName, Integer district, String cxDateBegin, String cxDateEnd, Integer state, Page page, String loginName);

    /**
     * 查找该管理账号下从业人员
     *
     * @param loginName 登录名
     * @param name      姓名
     * @param qyName    企业姓名
     * @param page      页码
     * @return 结果
     */
    ManagerPageResult findPersonByCondition(String loginName, String name, String qyName, Page page);

    /**
     * 查询企业继续教育情况
     *
     * @param corpId 企业id
     * @param name   姓名
     * @return 结果
     */
    ManagerPageResult findTrain(Integer corpId, String name, Page page);

    /**
     * 获取企业名列表
     *
     * @param loginName 登录名
     * @return 结果
     */
    List<CorpDTO> getCorpNameList(String loginName);

    /**
     * 获取项目名列表
     *
     * @param corpId 登录名
     * @return 结果
     */
    List<ProDTO> getProjectNameList(Integer corpId);

    /**
     * 获取企业详细信息
     *
     * @param id 企业id
     * @return 结果
     */
    Corp getCorpDetail(Integer id);

    /**
     * 审批继续教育
     *
     * @param id     id
     * @param state  状态
     * @param yijian yijian
     * @return 结果
     */
    CommonResult spTrain(Integer id, Integer state, String yijian);

    /**
     * 查询企业继续教育清理
     *
     * @param loginName  登录名
     * @param page       页码
     * @param qyName     企业名
     * @param state      状态
     * @param department 培训部门
     * @return 结果
     */
    ManagerPageResult getTrainList(String loginName, Page page, String qyName, Integer state, Integer department);

    /**
     * 继续教育审批按钮  点击后显示的列表
     *
     * @param page      页码
     * @param loginName 登录名
     * @return 结果
     */
    ManagerPageResult getSPTrainList(Page page, String loginName);


}
